package com.xique.door.service;

import com.xique.common.core.web.domain.AjaxResult;
import com.xique.common.core.web.page.TableDataInfo;
import com.xique.door.bean.domain.DCard;
import com.xique.door.bean.request.card.DeviceAddCardRequest;
import com.xique.door.bean.request.card.DeviceCardListRequest;
import com.xique.door.bean.request.card.DeviceCardSelectListRequest;
import com.xique.door.bean.request.device.DeviceDeleteRequest;

import java.util.List;

public interface ICardAuthorizationService {

  /** 设备已授权的卡号 */
  TableDataInfo selectAssignedDeviceCardList(DeviceCardSelectListRequest request);

  List<DCard> selectDCardDeviceList(Long parkId, Long deviceId);
  /** 设备未授权的卡号 */
  TableDataInfo selectUnAssignedDeviceCardList(
      DeviceCardSelectListRequest request, List<DCard> ids);

  AjaxResult addDeviceCard(DeviceAddCardRequest request);

  AjaxResult deleteDeviceCard(DeviceAddCardRequest request);
  /** 批量绑卡 */
  AjaxResult addDeviceCardList(DeviceCardListRequest request);
  /** 批量下发 */
  AjaxResult addDeviceCardLists(DeviceCardListRequest request);
  /** 全量下发 */
  AjaxResult addAllDeviceCardLists(DeviceCardListRequest request);
  /** 批量解绑 */
  AjaxResult deleteDeviceCardList(DeviceCardListRequest request);

  /** 全量解绑 */
  void deleteAllDeviceCardList(DeviceDeleteRequest request);

  /** 卡管理 */
  TableDataInfo selectDCardAdministration(DeviceCardSelectListRequest request);
}
